@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(359deg);
    }
}

.#{$ns}Spinner-overlay {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: $Spinner-overlay-bg;

    .#{$ns}Spinner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate3d(-50%, -50%, 0);
    }

    .#{$ns}Spinner--lg {
        width: $Spinner--lg-width;
        height: $Spinner--lg-height;
        line-height: $Spinner--lg-height;
    }
}

.#{$ns}Spinner {
    width: $Spinner-width;
    height: $Spinner-height;
    transform: translateZ(0);
    display: inline-block;
    background: $Spinner-bg;
    background-size: 100%;

    &--lg {
        width: $Spinner--lg-width;
        height: $Spinner--lg-height;
    }
}

@include media-breakpoint-up(md) {
    .#{$ns}Layout .#{$ns}Page-body > .#{$ns}Spinner-overlay {
        left: $Layout-aside-width;
    }

    .#{$ns}Layout--folded .#{$ns}Page-body > .#{$ns}Spinner-overlay {
        left: $Layout-aside--folded-width;
    }
}
